在分享敏捷軟體開發知識給新夥伴時,我很常會順帶聊到庫尼文框架(Cynefin framework)。他是一個用來判斷現在身處處境的一種分類模型,並藉此決策要以怎樣的方式去應對。
取自維基百科:Cynefin framework - Wikipedia。
在原本的第二象限,有過 Simple 與 Obvious 兩種用詞,目前新版則是使用 Clear。
在這個分類框架的架構下,右半邊代表的是有序,左半邊則代表無序的。用個簡單的用語來說,就是指右半邊通常不太久變化,但左邊則是變化多端的。
一個問題如果是我們已經知道要什麼,且也知道怎麼做,那通常就處於第二象限的 Clear,因為是如此清晰透徹,我們只要覺察、分類、並且回應就好。就像是從小學走回家的路上,我已經走了千百次,這時候只需要尋找最佳實踐,也就是走起來最順暢且短的路徑即可。
如果一個問題是我們已經知道要什麼,但不太知道該如何達到,那通常就處於第一象限的 Complicated(繁雜),這時候我們就會仰賴一些外部的協助,無論是資訊工具或是請教專家,所以就會透過覺察、分析、再回應的方式應對。有點像是我到了陌生的縣市,但至少還是在台灣,我就會透過 Google Map 去分析我要去的目的地該怎麼抵達,該走路還是過交通工具等等,最後再選擇怎麼過去。如果沒有 Google Map,我可能只能不斷的問路,或是迷路一小段時間,索性還是有辦法解決,但時間可能就會變長。
當一個問題處於我們不太知道要什麼,且也不太確定該如何完成,那就會偏向第三象限的 Complex(複雜),也是因為之中的因果關係、脈絡難以輕易斷言,而且可能會隨著時間的演進而有不同的變化,我無法果斷地確認當下該怎麼做,所以我們就需要透過嘗試、覺察,再回應的方式去應對。有點像是我身處在森林中,我沒辦法透過 Google Map 知道該麽移動,而且森林的地形與生物分佈是充滿動態的,我甚至我好以三個月前來過的經驗來判斷怎樣走一定是對的,就只能邊探索邊移動,藉由發現來決定我該怎麼調整路徑。
而若一個問題是類似第三象限的 Complex(複雜),但我們又沒有足夠的時間好好去嘗試、探索,必須立刻做出行動再說,那就會屬於第四象限的 Chaotic(混亂的),藉由先行動、覺察,再回應的方式去應對。通常至時候應該要做的事會這個情況止血,避免事態變得惡化。就像是走在天氣惡劣的環境中,我首要之際,就是要先找到避難的地方。
這些象限很好地為我們分類的再開發環境可能會遇到的常見分類,我們會在明天提到 The Stacey Matrix 時再進一步延伸聊聊。